package com.xq.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RateLimit {
    long rate() default 10;; //最多的访问限制次数
    long rateInterval() default 60;;//给定的时间段 单位秒
    String limiterKey();//限流key
    int expireSecond() default 60;
    /**
     * 类型  ip限制 还是自定义key值限制
     * 建议使用ip，自定义key属于全局限制，ip则是某节点设置，通常情况使用IP
     *
     * @return LimitType
     */
    LimitType limitType() default LimitType.IP;
}
